package edu.snake.core.model.character;

import edu.snake.implement.model.CharacterName;
import edu.snake.implement.model.arena.Direction;

import java.util.Iterator;

public interface Character {

    public int getId();

    public CharacterName getName();

    public boolean isAlive();

    public void setAlive(boolean alive);

    public Direction getDirection();

    public void setDirection(Direction direction);

    public Character move();

    public void add(Character character);

    public void remove(Character character);

    public Character getChild(int i);

    public int size();

    public Iterator<Character> iterator();

    public CharacterState getState();

    public void setState(CharacterState characterState);

    public void setMovement(Movement movement);

    public void setCourse(Course course);

}
